package com.demo.deal_service.service;

import com.demo.deal_service.model.entity.Order;
import com.demo.deal_service.model.result.ResultEntity;
import com.demo.deal_service.model.entity.Deal;
import com.github.pagehelper.PageInfo;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;

public interface DealService {
    /**
     * 分页获取商品列表
     *
     * @param pageNum 页码
     * @return 分页对象
     */
    public PageInfo<Deal> getDealByPage(int pageNum);

    /**
     * 根据id获取商品对象
     *
     * @param id 查询商品的id
     * @return 商品对象
     */
    public Deal getDealById(Long id);

    /**
     * 获取所有商品
     *
     * @return 商品列表
     */
    public List<Deal> getAllDeals();

    /**
     * 插入商品记录
     *
     * @param deal 插入商品信息
     * @return 请求结果实体
     */
    public ResultEntity addDeal(Deal deal, MultipartFile image);

    /**
     * 插入商品记录
     *
     * @param id 删除商品的id
     * @return 请求结果实体
     */
    public ResultEntity deleteDeal(Long id);

    /**
     * 编辑商品记录
     *
     * @param deal 编辑商品信息
     * @return 请求结果实体
     */
    public ResultEntity editDeal(Deal deal, MultipartFile image);

    /**
     * 生成订单实体
     *
     * @param dealId 商品id
     * @param order 订单信息
     * @return 请求结果实体
     */
    public ResultEntity genOrder(Long dealId, Order order);
}
